// 定义一个宏函数，实现两个数交换
/*
a = 12  b = 34
a = 34  b = 12

*/
#include <stdio.h>

#define swap(a, b) \
    tmp = a; a = b; b = tmp;

#define swap_v1(a, b) \
    do{int tmp = 0;tmp = a; a = b; b = tmp;} while(0)

int main(int argc, char **argv)
{

    int a = 12;
    int b = 34;

    // 交换前输出
    printf("a = %d  b = %d\n", a, b);

    // 交换
    swap_v1(a, b);

    // 交换后输出
    printf("a = %d  b = %d\n", a, b);


    return 0;
}